package com.xiaoshuidi.cloud.module.report.service.ajreport.dto;


import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Setter
@Getter
public class ReportLedgerInfoDto implements Serializable {


    private Long id ;

    private Long contractId;

    /**
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     *公寓id
     */
    private Long apartmentId;
    /**
     *公寓名称
     */
    private String apartmentName;
    /**
     *房间id
     */
    private Long roomId;
    /**
     *房间名称
     */
    private String roomName;
    /**
     *小区
     */
    private String area;
    /**
     *房源
     */
    private String houseResource;
    /**
     *客户类型 personal 个人客户 | company 企业客户
     */
    private String customerType;
    /**
     *租客姓名
     */
    private String customerName;
    /**
     *租客手机号
     */
    private String customerPhone;
    /**
     *证件类型
     */
    private String customerIdType;
    /**
     *证件号码
     */
    private String customerIdNumber;
    /**
     *年龄
     */
    private Integer age;
    /**
     *性别
     */
    private String gender;
    /**
     *租赁期限(月)
     */
    private Integer leaseTerm;
    /**
     *付几  |  付款周期
     */
    private Integer payMethodF;
    /**
     *压几
     */
    private Integer payMethodY;
    /**
     *开始日期
     */
    private String startTime;
    /**
     *结束日期
     */
    private String endTime;
    /**
     *实际结束日期
     */
    private String actualEndTime;
    /**
     *签约时间
     */
    private String signedTime;
    /**
     *月租金
     */
    private BigDecimal monthRent;
    /**
     *总租金
     */
    private BigDecimal totalRent;
    /**
     *折扣后月租金
     */
    private BigDecimal afterDiscRent;
    /**
     *押金
     */
    private BigDecimal deposit;
    /**
     *租金交至日期
     */
    private String rentDeliveryDate;
    /**
     *租客岗位
     */
    private String customerPost;
    /**
     *租客学历
     */
    private String customerEducation;
    /**
     *紧急联系人姓名
     */
    private String emergencyContactName;
    /**
     *紧急联系人手机号
     */
    private String emergencyContactPhone;
    /**
     *紧急联系人关系
     */
    private String emergencyContactRelationship;
    /**
     *客户来源
     */
    private String source;
    /**
     *退租原因
     */
    private String evictionReason;
    /**
     *备注
     */
    private String remark;
    /**
     *续租来源合同ID
     */
    private Long fromId;
    /**
     *优惠类型
     */
    private String discountSort;
    /**
     *优惠方式
     */
    private String discountType;
    /**
     *优惠值
     */
    private BigDecimal discountValue;
    /**
     *合同状态
     *  //合同状态  pending 待审批 | no_signed 待签约 | active 已生效 | normal_end 正常结束 | abnormal_end 非正常结束
     *   //合同节点 new 新签  | renewal 续约 | rentingOut 退租 | exchange 换房
     */
    private String contractStatus;
    /**
     *合同节点
     */
    private String contractNode;

    private LocalDateTime createTime;

    private LocalDateTime updateTime;
    /**
     *租户编号
     */
    private Long tenantId;
    /**
     *是否处理 0未处理，1已处理
     */
    private Integer handleFlag;

    @Schema(description = "原合同签约时间")
    private String oldSignedTime;

    /**
     * 原合同开始日期
     */
    private String oldStartTime;

    /**
     * 原合同结束日期
     */
    private String oldEndTime;

    /**
     * 原门店
     */
    private String oldApartmentName;

    /**
     * 原房源
     */
    private String oldHouseResource;

    /**
     * 新合同产生日期（续租日期/换租日期）
     */
    private String newContractDate;

    /**
     * 换租产生的费用
     */
    private BigDecimal exchangeAmount;

    /**
     * 退租前收取的总费用 含押金
     */
    private BigDecimal outTotalAmount;

    /**
     * 退租扣除原因
     */
    private String deductReason;

    /**
     * 退租类型
     */
    private String evictionType;

    /**
     * 换租类型
     */
    private String exchangeType;


    /**
     * 换租时间
     */
    private String exchangeDate;

    /**
     * 首次合同時間
     */
    private String firstContractDate;

    /**
     * 所退金额
     */
    private BigDecimal rentingOutAmount;

    /**
     * 非退押金
     */
    private BigDecimal noRefundDeposit;

    /**
     * 退租扣除金额
     */
    private BigDecimal  outDeductAmount;
    /**
     * 支付方式
     */
    private String payWay;
    /**
     * 退租时间
     */
    private String evictionTime;
}
